package wei.qiang.ye.springcomponentdemo.my;

import org.springframework.beans.factory.FactoryBean;
import wei.qiang.ye.springcomponentdemo.domain.Cherry;

public class CherryFactoryBean implements FactoryBean<Cherry> {
    /**
     * getObject返回需要注册的组件对象
     * @return
     * @throws Exception
     */
    @Override
    public Cherry getObject() throws Exception {
        return new Cherry();
    }

    /**
     * getObjectType返回需要注册的组件类型
     * @return
     */
    @Override
    public Class<?> getObjectType() {
        return Cherry.class;
    }

    /**
     * isSingleton指明该组件是否为单例
     * 如果为多例的话，每次从容器中获取该组件都会调用其getObject方法
     * @return
     */
    @Override
    public boolean isSingleton() {
        return false;
    }
}
